package com.xing.common.vail;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

/**
 * 自定义注解类：
 * 编写自定义的校验注解
 * 必须有3个属性
 * message（）错误信息
 * group() 分组校验
 * payload()自定义负载信息
 */

@Documented
@Constraint(validatedBy = {ListValueConstraintValidator.class})
@Target({ElementType.METHOD,ElementType.FIELD,ElementType.ANNOTATION_TYPE,ElementType.CONSTRUCTOR,ElementType.PARAMETER,ElementType.TYPE_USE})
@Retention(RetentionPolicy.RUNTIME)
public @interface ListValue {

    //使用该属性去Validation.properties中取
    String message() default "{com.xing.common.valid.ListValue.message}";

    Class<?> [] groups() default {};

    Class<? extends Payload> [] payload() default { };

    int[] value() default {}; //传入可通过校验的值[]
}
